Docker로 실행 중인 Redis 컨테이너에 외부 서버에서 접근이 불가능한 문제

Redis 네트워크 연결 문제 해결

문제 상황

원인

해결 과정

  1. 현재 네트워크 상태 확인
sudo iptables -L -n
sudo iptables -L -n -t nat
ip addr show docker0
bridge link show
  1. Docker 컨테이너 상태 확인
docker ps
netstat -tulnp | grep 6379
  1. Redis 컨테이너 설정 확인
docker logs redis
docker inspect redis
  1. Docker host 네트워크 모드로 재설정
# 기존 컨테이너 제거
docker stop redis
docker rm redis

# host 네트워크 모드로 재실행
docker run --network host --name redis -d redis:latest --requirepass "password" --bind 0.0.0.0
  1. 연결 테스트
# Redis CLI 로컬 연결 테스트
redis-cli -h localhost -a password ping

# 포트 응답 확인
curl localhost:6379

# 원격 서버 연결 테스트
telnet static_server_ip 6379

추가 설정

# Docker 컨테이너 자동 실행 설정
docker update --restart=always redis

# Docker 로그 확인
docker logs -f redis

# Redis 컨테이너 상태 모니터링
docker stats redis

네트워크 구성 변경 사항

변경 전

변경 후